perm filename CODE4.FAI[XX,LCS]5 blob
sn#219714 filedate 1976-06-16 generic text, type T, neo UTF8
00100 TITLE ITMSUB
00110 ENTRY ITMSUB
00120 EXTERNAL BM,NOZERO,LINX,ROFF,CENTX,STF,LINES,.COMM.
00130 EXTERNAL DAT,RHORZ,CLEFS,PLTR,MIN,POSI,ALF,RDRAW
00140 DEFINE R9
00150 < .COMM.+=10 >
00160 DEFINE R8
00170 < .COMM.+=9 >
00175 DEFINE J2
00180 < .COMM.+3 >
00185 DEFINE J10
00190 < .COMM.+=31 >
00195 DEFINE J7
00200 < .COMM.+=28 >
00220 ; 00300 SUBROUTINE ITMSUB
00230 ; 00400 IMPLICIT INTEGER(A-Q,S-Z)
00250 ; 00500 REAL DIS,DISX,HGT,POS,CENTR,STFF,HGT1
00300 ; 00600 COMMON/STF/RSTFAC(-3/4),RSTJ2/MIN/MINI,RMINI
00350 ; 00700 COMMON R2,JA,CENTR,J2,RJQ(20),JQ(16),RE,RF,RG,RH/BM/RA,RC,RJY
00400 ; 00800 COMMON/POSI/STFF(-3/4),JJ2,POS/PLTR/PLT,RHT,DIS
00450 ; 00900 COMMON/ALF/QQ(3),RST7,RST18,R3Q,JY,RD,RX,RW,RJX,RJ,L,K,
00500 ; 01000 1 RJA,YY,DISX,HGT,RZ,INP(53)
00550 ; 01100 COMMON/DAT/RACNT(65),RDOT(17),XAC(7),RNOTE(22),RACCI(22),NACCI(3)
00600 ; 01200 EQUIVALENCE (J3,JQ(1)),(J4,JQ(2)),(J5,JQ(3)),(R5,RJQ(3)),(R11,
00650 ; 01300 1RJQ(9)),(R6,RJQ(4)),(J7,JQ(5)),(J8,JQ(6)),(J9,JQ(7)),(J10,JQ(8))
00700 ; 01400 1,(J11,JQ(9)),(J6,JQ(4)),(R9,RJQ(7)),(R8,RJQ(6)),(R3,RJQ(1))
00750 ; 01500 1 ,(R7,RJQ(5)),(R4,RJQ(2)),(R9,RJQ(7)),(R10,RJQ(8)),(RX3,RJQ(20))
00800 ; 01600 DATA R14/14.54/,RTF/3.0/,RHGT/48.0/,R2HGT/96.0/,RBM/.83/
00850 ; 01700 1,RDBR/ 3.5/,RBR/.33/,RBX/ 7.0/
00900 ITMSUB: 0 ;01800 C RDBR IS SPACER FOR DBL BAR.
00950 ; 02000 RST7=RSTJ2*7.
01000 MOVSI 3,203700
01050 FMPR 3,STF+=8
01100 MOVEM 3,ALF+3
01150 ; 02100 RST18=RSTJ2*18.
01200 MOVSI 02,205440
01250 FMPR 2,STF+=8
01300 MOVEM 02,ALF+4
01350 ; 02200 C TO COMPENSATE FOR NOTE #3 COMING AT POS=0
01400 ; 02400 R3Q=R3
01450 MOVE 02,.COMM.+4
01500 MOVEM 02,ALF+5 ; C NEXT DRAWS STRAIGHT LINES
01550 ; 02700 RD=R4*RST7
01600 FMPR 3,.COMM.+5
01650 MOVEM 3,ALF+7
01700 ; 02800 RA=0
01750 SETZM BM
01800 ; 02900 RX=RTF*RSTJ2+POS
01850 MOVE 02,[3.0]
01900 FMPR 02,STF+=8
01950 FADR 02,POSI+=9
02000 MOVEM 02,ALF+=8
02050 ; SOMEDAY ADD < RDIS=1./DIS > TO REPLACE ALL 1./DIS'S
02100 ; 03010 J10=J10*DIS*RSTJ2
02150 FLTR 4,.COMM.+=31 ;MOVE 4,.COMM.+=31
02200 ; TLC 4,232000
02250 ; FADR 4,4
02300 FMPR 4,PLTR+2
02350 FMPR 4,STF+=8
02400 KIFIX 0,4 ;JSA 16,IFIX
02450 ; JUMP 4
02500 MOVEM 0,J10
02550 ; THICKNESS DEPENDS ON FINAL SIZE FACTOR (DIS) AND STAFF SIZE.(???!!)
02600 ; 03100 IF(J5.EQ.50)GO TO 300
02650 MOVEI 02,62
02700 CAMN 02,.COMM.+=26
02750 JRST I300 ; 50 IS FOR CRESC., DECRESC. AND BOXES
02800 ; 03300 IF(R6.NE.0)GO TO 401
02850 SKIPN .COMM.+7
02900 SKIPE .COMM.+=28
02950 JRST I401 ; IF(J7.NE.0)GO TO 401
03000 ; 03500 C FOR BAR LINES
03050 ; 03600 4000 JA=44
03100 MOVEI 02,54
03150 MOVEM 02,.COMM.+1 ;CODE # IS CHNGD SO BAR LINES WON'T AFFECT MAX. HGT.
03200 ; ↑↑↑↑↑↑↑↑↑ FOR VERTICAL WIGGLE (P6=0, P7=-1)
03250 ; 03900 DBR=0
03300 SETZM DBR#
03350 MOVE 2,.COMM.+=25 ;04000 IF(J4.LT.1000)GO TO 400
03400 CAIGE 2,1750
03450 JRST I400
03500 ; J4=1001 = DBL BAR, =1401 = DBL BAR WITH RT. ONE HEAVY: J5=1=DOTS ADDED
03550 ; 04500 DBR=J4/1000
03600 IDIVI 02,1750
03650 MOVEM 02,DBR
03700
03750 MOVEM 3,.COMM.+=25 ; 04600 J4=J4-DBR*1000
03800 ; 04700 C DBR=1 HEAVY BAR IS ON R
03850 ; 04800 9400 RD=RDBR+RDBR*RSTJ2
03900 I9400: MOVE 1,[3.5]
03950 FMPR 1,STF+=8
04000 FADR 1,[3.5]
04050 MOVEM 1,ALF+7 ; TO SPACE THIN BAR FROM HEAVY
04100 ; 05000 IF(J5.EQ.0)GO TO 400
04150 MOVE 02,.COMM.+=26
04200 JUMPE 2,I400
04250 ; 05100 C NEXT ADDS REPEAT DOTS TO DBL BAR.
04300 ; 05200 L=J4
04350 MOVE 3,.COMM.+=25
04400 MOVEM 3,ALF+=12
04450 ; 05300 RJ=L/100
04500 IDIVI 3,144
04550 FLTR 3,3 ;TLC 3,232000
04600 ; FADR 3,3 IF(RJ.EQ.0)RJ=6.*RSTJ2
04650 JUMPN 3,.+3
04700 MOVSI 3,203600
04750 FMPR 3,STF+=8
04800 MOVEM 3,ALF+=11 ; HEAVY BAR WILL BE 5 LINES WIDE.
04900 MOVE .COMM.+4 ; 05600 RZ=R3
04975 MOVEM ALF+=18 ; 05700 J4=0
05050 SETZM .COMM.+=25 ; MUST BE 0 FOR DOTS IN 'NOTWRT'
05150 SKIPE 2,DBR ; J5 IS IN 2 YET!
05160 JRST .+4 ; 05900 IF(DBR.EQ.0)DBR=J5
05200 ;;; MOVE 2,.COMM.+=26
05210 CAIL 2,4 ;IF(J5.GT.3)J5=3 -- CATCHES TYPOS!
05220 MOVEI 2,3
05250 MOVEM 02,DBR ;IF(DBR.EQ.0)=J5
05300 ; 06000 J5=0
05350 SETZM .COMM.+=26 ; J5=1 RPT ↑, =2 RPT ↑, =3 RPT ↑
05450 FSC 1,1 ;06200 RJA=RD*2.
05500 MOVEM 1,ALF+=14
05550 ;6300 TO SPACE DOTS, NOT ACCURATE FOR VERY SMALL OR VERY LARGE SIZE FACTORS
05600 MOVEM 2,ALF+6 ; 06400 JY=DBR
05700 CAIGE 2,2 ; 06500 IF(DBR.LT.2)GO TO 8400
05750 JRST I8400
05850 FADR 3,ALF+=18 ; 06600 R3=RJA+RJ+RZ
05900 FADR 3,ALF+=14
05950 MOVEM 3,.COMM.+4
06050 I7400: MOVE 11,ALF+=12 ; 06700 7400 DO 3400 K=J2,MOD(L,100)+J2-1
06100 IDIVI 11,=100
06150 ADD 12,.COMM.+3
06200 SOJ 12, ; 12 IS LIMIT
06250 MOVE 15,.COMM.+3
06350 I4: MOVE 02,STF+3(15) ;06800 RSTJ2=RSTFAC(K)
06400 MOVEM 02,STF+=8
06450 ; 06900 POS=STFF(K)
06500 MOVE 02,POSI+3(15)
06550 MOVEM 02,POSI+=9
06600 ; 07000 R4=6
06650 MOVSI 02,203600
06700 MOVEM 02,.COMM.+5
06750 ; 07100 CALL CENTX
06800 JSA 16,CENTX ;7200 C SPACES DOTS OUT FROM BAR
06850 ;07300 CALL RDRAW(1,17.0,ALF+7OT,STF+=8,.COMM.+4,CENTR+RSTJ2,STF+=8)
06900 MOVE 11,STF+=8
06950 FADR 11,.COMM.+2
07000 JSA 16,RDRAW
07050 JUMP [1]
07100 JUMP [17.0]
07150 JUMP DAT+=65
07200 JUMP STF+=8
07250 JUMP .COMM.+4
07300 JUMP 11
07350 JUMP STF+=8 ;7400 C GO GET THE DOT
07400 ; 07500 R4=8
07450 MOVSI 02,204400
07500 MOVEM 02,.COMM.+5
07550 ; 07600 CALL CENTX
07600 JSA 16,CENTX
07650 ;07700 3400 CALL RDRAW(1,17.0,ALF+7OT,STF+=8,.COMM.+4,CENTR+RSTJ2,STF+=8)
07700 I3400: MOVE 11,STF+=8
07750 FADR 11,.COMM.+2
07800 JSA 16,RDRAW
07850 JUMP [1]
07900 JUMP [17.0]
07950 JUMP DAT+=65
08000 JUMP STF+=8
08050 JUMP .COMM.+4
08100 JUMP 11
08150 JUMP STF+=8
08200 CAMGE 15,12
08250 AOJA 15,I4
08300 SOS 2,ALF+6 ; JY=JY-1
08350 CAIGE 2,2 ; IF(JY.LT.2)GO TO 4400
08400 JRST I4400
08450 I8400: MOVE 3,STF+=8
08500 FSC 3,2
08550 FADR 3,ALF+=14 ; R3=RZ-RJA-4.*RSTJ2
08600 FSBR 3,ALF+=18
08650 MOVNM 3,.COMM.+4
08700 ; 08100 GO TO 7400
08750 JRST I7400 ;8200 C DO I NEED ANY MORE RESETS????
08800 ; 08300 4400 J4=L
08850 I4400: MOVE 02,ALF+=12
08900 MOVEM 02,.COMM.+=25
08950 ; 08400 J7=RJ*DIS
09000 MOVE 02,PLTR+2
09050 FMPR 02,ALF+=11
09100 KIFIX 0,2 ;JSA 16,IFIX
09150 ; JUMP 2
09200 MOVEM 00,.COMM.+=28
09250 JRST I5400 ; 08500 GO TO 5400
09300 ; 08600 400 IF(J5.NE.0)GO TO 9400
09350 I400: MOVE 02,.COMM.+=26
09400 JUMPN 02,I9400
09450 ; 08700 K=J4/100
09500 MOVE 4,.COMM.+=25
09550 IDIVI 4,144
09600 ;;??? MOVEM 4,ALF+=13
09650 ;8800 C K IS FOR SPACING OF THIN BAR IN HEAVY-THIN ORDER
09700 FLTR 4,4 ;TLC 4,232000 8900 J7=K*DIS
09750 ; FADR 4,4
09800 FMPR 4,PLTR+2
09850 KIFIX 0,4 ;JSA 16,IFIX
09900 ; JUMP 4
09950 MOVEM 00,.COMM.+=28
10000 ;9000 C J7=NUM OF STROKES -- BASED ON FINAL SIZE FACTOR (DIS)
10050 ; 09100 5400 L=MOD(J4,100)
10100 I5400: MOVE 2,.COMM.+=25
10150 IDIVI 2,=100
10200 SKIPN 3 ; 09200 IF(L.EQ.0)L=1
10220 SKIPA
10240 SOJ 3, ; 09300 L=L+J2-1
10260 ADD 3,.COMM.+3
10280 MOVEM 3,ALF+=12
10300 ;9400 C J4=401 MAKES 4X THICK BARLINE - ONE STAFF
10320 ; 09500 RA=RTF
10340 MOVE 02,[3.0]
10360 MOVEM 02,BM
10380 MOVE 3,ALF+=12
10400 CAIG 3,4 ; 09600 IF(L.LE.4)GO TO 2400
10420 JRST I2400
10440 ; 09700 L=4
10460 MOVEI 3,4
10480 ; 09800 RA=300.
10500 MOVSI 02,211454
10520 MOVEM 02,BM
11050 ;9900 C FOR EXTENDING BARS ABOVE STAFF 4
11100 ; 10000 2400 RY=RSTFAC(L)
11150 I2400: MOVE 02,STF+3(3)
11200 MOVEM 02,RY#
11250 ; 10100 RZ=R3Q
11300 MOVE 02,ALF+5
11350 MOVEM 02,ALF+=18
11400 ; 10200 C SAVE IT FOR DBL RPT BAR.
11450 ; 10300 RY=STFF(L)+(RA+56.)*RY
11500 MOVSI 02,206700
11550 FADR 02,BM
11600 FMPR 02,RY
11650 FADR 02,POSI+3(3)
11700 MOVEM 02,RY
11750 ; 10400 1400 RA=1
11800 I1400: MOVSI 02,201400
11850 MOVEM 02,BM
11900 ; 10500 IF(PLT.GE.0)GO TO 140
11950 MOVE 02,PLTR
12000 JUMPGE 02,I140
12050
12100 ; 10600 J7=J7+1
12150 AOS J7
12200
12250 ; 10700 RA=1./DIS
12300 MOVSI 02,201400
12350 FDVR 02,PLTR+2
12400 MOVEM 02,BM
12450
12500 ; 10800 C BAR LINES PLOT AS DOUBLE THICKNESS
12550
12600 ; 10900 140 RJX=R3Q
12650 I140: MOVE 02,ALF+5
12700 MOVEM 02,ALF+=10
12750 ; 11000 42 CALL LINES(R3Q,ALF+=8,3)
12800 I42: JSA 16,LINES
12850 JUMP ALF+5
12900 JUMP ALF+=8
12950 JUMP [3]
13000 ; 11100 RJ=-1.
13050 MOVN 02,[1.0]
13100 MOVEM 02,ALF+=11
13150 ; 11200 RW=RY
13200 MOVE 02,RY
13250 MOVEM 02,ALF+=9
13300 ; 11300 406 CALL LINES(RJX,RY,2)
13350 I406: JSA 16,LINES
13400 JUMP ALF+=10
13450 JUMP RY
13500 JUMP [2]
13550 ; 11400 IF(J10.EQ.0)GO TO 411
13600 MOVE 02,J10
13650 JUMPE 02,I411
13700 ;11500 C P10 WILL THICKEN VERTICAL (OR MOSTLY VERTICAL) LINES.
13750 ; 11600 J7=J10
13800 MOVEM 02,.COMM.+=28
13850 ; 11700 J10=0
13900 SETZM .COMM.+=31
13950 ; 11800 RA=1./DIS
14000 MOVSI 02,201400
14050 FDVR 02,PLTR+2
14100 MOVEM 02,BM
14150 ; 11900 411 IF(J7.GT.0)GO TO 409
14200 I411: MOVE 02,.COMM.+=28
14250 JUMPG 02,I409
14300 SKIPG DBR ; 12000 IF(DBR.LE.0)RETURN
14350 JRA 16,(16)
14400 ; 12100 RY=RW
14450 MOVE 02,ALF+=9
14500 MOVEM 02,RY
14550 ; 12300 RA=RZ-RD
14600 MOVN 02,ALF+7
14650 FADR 02,ALF+=18
14700 ; 12400 IF(DBR.NE.1)RA=RJX+RD-1.
14750 MOVEI 3,1
14800 CAMN 3,DBR
14850 JRST .+4
14900 MOVN 02,[1.0]
14950 FADR 02,ALF+7
15000 FADR 02,ALF+=10
15050 MOVEM 02,BM
15100 ; 12600 R3Q=RA
15150 MOVEM 02,ALF+5
15200 ; 12500 DBR=DBR-2
15250 MOVNI 02,2
15300 ADDM 02,DBR
15350 ; 12700 GO TO 1400
15400 JRST I1400
15450 ; 12900 C FOR 'HEAVY' LINE.
15500 ; 13000 409 RJX=RJX+RA
15550 I409: MOVE 02,BM
15600 FADRM 02,ALF+=10
15650 ; 13100 CALL LINES(RJX,RY,2)
15700 JSA 16,LINES
15750 JUMP ALF+=10
15800 JUMP RY
15850 JUMP [2]
15900 ; 13200 J7=J7-1
15950 SOS J7
16000 ; 13300 RY=RW
16050 MOVE 02,ALF+=9
16100 SKIPGE ALF+=11 ; 13400 IF(RJ)RY=RX
16150 MOVE 2,ALF+=8
16200 MOVEM 2,RY
16250 ; 13500 RJ=-RJ
16300 MOVNS 00,ALF+=11
16350 JRST I406 ; 13600 GO TO 406
16400 ;13900 C DRAWS BAR LINES. J4>0 CAUSES FULL LINE.
16450 ; 14700 C FOR CRESC., DECRESC.
16500 I300: MOVE 2,.COMM.+=8 ; 14800 300 IF(R7.EQ.0)R7=2.3
16550 JUMPG 2,.+7
16600 MOVE 3,[2.3]
16650 JUMPE 2,.+4
16700 CAME 2,[-1.0]
16750 JRST .+3
16800 MOVNS 3
16850 MOVEM 3,.COMM.+=8 ; 14900 IF(R7.EQ.-1.)R7=-2.3
16900 ; 15000 RA=ABS(R7/2.0)*RST7
16950 MOVM 2,.COMM.+=8
17000 FSC 02,777777
17100 FMPR 2,ALF+3
17150 MOVEM 2,BM
17200 ; 15100 C AMOUNT OF SPREAD
17250 ; 15200 RJ=R3Q
17300 MOVE 3,ALF+5
17350 MOVEM 3,ALF+=11
17400 ; 15300 RX=RX-RST18+RD
17450 MOVN 02,ALF+4
17500 FADR 02,ALF+7
17550 FADRM 02,ALF+=8
17600 ; 15400 IF(R8.NE.0)GO TO 302
17650 MOVE 02,R8
17700 JUMPN 02,I302
17750 ; 15500 C JUMP TO MAKE BOX
17800 ; 15600 R6=RHORZ(R6)
17850 JSA 16,RHORZ
17900 JUMP .COMM.+7
17950 MOVEM 00,.COMM.+7
18000 ; 15700 IF(R7)GO TO 301
18050 MOVE 02,.COMM.+=8
18100 JUMPL 02,I301
18150 ; 15800 RJ=R6
18200 MOVEM 0,ALF+=11
18250 ; 15900 R6=R3Q
18300 MOVEM 3,.COMM.+7
18350 ; 16000 301 CALL LINX(RJ,ALF+=8+RA,.COMM.+7,ALF+=8)
18400 I301: MOVE 14,BM
18450 FADR 14,ALF+=8
18500 JSA 16,LINX
18550 JUMP ALF+=11
18600 JUMP 14
18650 JUMP .COMM.+7
18700 JUMP ALF+=8
18750 ; 16100 CALL LINES(RJ,ALF+=8-RA,2)
18800 MOVN 14,BM
18850 FADR 14,ALF+=8
18900 JSA 16,LINES
18950 JUMP ALF+=11
19000 JUMP 14
19050 JUMP [2]
19100 ;16200 FOR CRESC, DECRESC:4 POS1, STF, HGT, 50, POS1, +OR-N(0=2.3,-1=-2.3)
19150 SKIPGE PLTR ; 16400 IF(PLT.GE.0)RETURN
19200 SKIPGE .COMM.+=29
19250 JRA 16,(16)
19300 ; 16500 C THIS MAKES ALL CRESC. DBL THICKNESS AT PRINT TIME.
19350 ; 16600 IF(J8)RETURN
19400 ; 16700 RX=RX+1./DIS
19450 MOVSI 02,201400
19500 FDVR 02,PLTR+2
19550 FADRM 02,ALF+=8
19600
19650 ; 16800 J8=-1
19700 SETOM .COMM.+=29
19750 ; 16900 C FOR DOUBLE THICKNESS
19800 ; 17000 GO TO 301
19850 JRST I301
19900 ; 17200 302 R8=R8*RST7
19950 I302: MOVE 3,ALF+3
20000 FMPRM 3,.COMM.+=9
20050
20100 ; 17300 R9=R9*RST7
20150 MOVE 3,ALF+3
20200 FMPRB 3,R9
20300 ; 17400 IF(R9.EQ.0)R9=R8
20350 JUMPN 3,.+3
20400 MOVE 3,.COMM.+=9
20450 MOVEM 3,.COMM.+=10
20500 ; 17500 C R9=0 MAKES SQUARE
20550 ; 17600 R3=R3Q-R8/2.
20600 MOVE 02,.COMM.+=9
20650 FSC 02,777777
20700 FSBR 02,ALF+5
20750 MOVNM 02,.COMM.+4
20800 ; 17700 RX=RX-R9/2.
20850 FSC 3,777777
20900 FSBR 3,ALF+=8
20950 MOVNM 3,ALF+=8
21000 ; 17710 RY=RX
21050 MOVNM 3,RY
21100 ; 17720 IF(R11.NE.0)RY=RY+R11*RST7
21150 MOVE 02,.COMM.+=12
21200 JUMPE 02,.+3
21250 FMPR 02,ALF+3
21300 FADRM 02,RY
21350 ; 17730 C R11 IS OFFSET FOR PARALLELAGRAM
21400 ; 17800 J10=J10
21450 ; 17900 C DRAWS BOX, CENTER IS IN MIDDLE
21500 ; 18000 C 4,POSI+=9,STF,NT#,50,0,0,,SIZ1↑BY NT#S↑,SIZ2
21550 ; 18100 1302 CALL LINX(R3,ALF+=8,.COMM.+4+R8,RY)
21600 I1302: MOVE 14,.COMM.+4
21650 FADR 14,.COMM.+=9
21700 JSA 16,LINX
21750 JUMP .COMM.+4
21800 JUMP ALF+=8
21850 JUMP 14
21900 JUMP RY
21950 ; 18200 CALL LINES(R3+R8,RY+R9,2)
22000 MOVE 14,.COMM.+4
22050 FADR 14,.COMM.+=9
22100 MOVE 13,RY
22150 FADR 13,.COMM.+=10
22200 JSA 16,LINES
22250 JUMP 14
22300 JUMP 13
22350 JUMP [2]
22400
22450 ; 18300 CALL LINES(R3,ALF+=8+R9,2)
22500 MOVE 14,ALF+=8
22550 FADR 14,.COMM.+=10
22600 JSA 16,LINES
22650 JUMP .COMM.+4
22700 JUMP 14
22750 JUMP [2]
22800 ; 18400 CALL LINES(R3,ALF+=8,2)
22850 JSA 16,LINES
22900 JUMP .COMM.+4
22950 JUMP ALF+=8
23000 JUMP [2]
23050 SKIPN .COMM.+=31 ; 18500 IF(J10.EQ.0)RETURN
23100 JRA 16,(16)
23150 SOS .COMM.+=31 ; 18600 J10=J10-1
23200 ; 18700 RJ=1./DIS
23250 MOVSI 3,201400
23300 FDVR 3,PLTR+2
23350 MOVEM 3,ALF+=11
23400 ; 18800 R3=R3-RJ
23450 MOVN 02,ALF+=11
23500 FADRM 02,.COMM.+4
23550 ; 18900 R8=R8+RJ+RJ
23600 FADR 3,ALF+=11
23650 FADRM 3,.COMM.+=9
23700 ; 19000 RX=RX-RJ
23750 FADRM 02,ALF+=8
23800 ; 19010 RY=RY-RJ
23850 FADRM 02,RY
23900 ; 19100 R9=R9+RJ+RJ
23950 FADRM 3,.COMM.+=10
24000 ; 19200 GO TO 1302
24050 JRST I1302
24100 ; 19300 C TO THICKEN BOXES.
24150 ; 19500 1401 R4=2.0
24200 I1401: MOVSI 02,202400
24250 MOVEM 02,.COMM.+5
24300 ; 19600 C FOR HEAVY BRACK.
24350 MOVE 2,ALF+3 ; 19700 RA=RST7
24500 MOVEM 02,BM
24550 ; 19800 RX=RX-RA
24600 MOVN 02,BM
24650 FADRM 02,ALF+=8
24700 ; 19900 C THE BOTTOM
24750 ; 20000 L=J4+J2-1
24800 MOVNI 1,1
24850 ADD 1,.COMM.+=25
24900 ADD 1,J2
24950 ;; MOVEM 02,ALF+=12
25000 ; 20100 R6=RTF
25050 MOVE 3,[3.0]
25100 CAIG 1,4 ; 20200 IF(L.LE.4)GO TO 4401
25250 JRST I4401
25300 MOVEI 1,4 ; 20300 L=4
25400 ; 20400 R6=300.
25450 MOVSI 3,211454
25550 I4401: MOVE 2,POSI+3(1) ; 20500 4401 RA=STFF(L)
25700 MOVEM 02,BM
25750 ; 20600 C SAVE FOR POS. OF BRACK. END ON UPPER STAFF.
25800 ; 20700 RJY=RSTFAC(L)
25850 MOVE 02,STF+3(1)
25900 MOVEM 02,BM+2
25950 ; 20800 RY=RA+R6*RJY+RJY*56.+RJY*RBX
26050 FADR 3,[63.0]
26100 FMPR 3,BM+2
26150 FADR 3,BM
26200 MOVEM 3,RY
26250 ; 20900 C THE TOP
26300 ; 21000 R5=9.5
26350 MOVSI 02,204460
26400 MOVEM 02,.COMM.+6
26450 ; 21100 GO TO 2401
26500 JRST I2401
26550 ; 21300 C DASHES
26600 ; 21400 401 POS=POS-RST18
26650 I401: MOVN 02,ALF+4
26700 FADRM 02,POSI+=9
26750 ; 21600 IF(J7.LE.0)GO TO 407
26800 MOVE 02,.COMM.+=28
26850 JUMPLE 02,I407
26900 CAIN 2,4 ; 21700 IF(J7.EQ.4)GO TO 1401
26950 JRST I1401
27000 CAIE 2,3 ; 21800 IF(J7.NE.3)GO TO 4001
27050 JRST I4001
27100 ;21900 NEXT IS FOR VARIABLE LARGE BRACKET. P7=3 P10=THICK. P5=HGT P6=P3
27150 ; 22000 2401 JA=3
27200 I2401: MOVEI 02,3
27250 MOVEM 02,.COMM.+1
27300 ; 22100 IF(J10.EQ.0)J10=5
27350 MOVE 02,J10
27400 JUMPN 02,.+3
27450 MOVEI 02,5
27500 MOVEM 02,.COMM.+=31
27550 ; 22200 C DEFAULT VALUE FOR THICKNESS =5
27600 ; 22300 R4=R4-RBR
27650 MOVN 02,[0.33]
27700 FADRM 02,.COMM.+5
27750 ; 22400 J9=0
27800 SETZM .COMM.+=30
27850 ; 22500 J5=35
27900 MOVEI 02,43
27950 MOVEM 02,.COMM.+=26
28000 ; 22600 C THE NUM FOR THE LITTLE END ITEMS
28050 ; 22800 R6=3
28100 MOVSI 02,202600
28150 MOVEM 02,.COMM.+7
28200 ; 22900 R7=0
28250 SETZM .COMM.+=8
28300 ;23000 DOES LOWER ONE FIRST. ITEM IS IN 'CLEF3.DMD' ON DAT.LCS
28350 ; 23100 IF(J8.NE.2)CALL CLEFS
28400 MOVEI 02,2
28450 CAME 02,.COMM.+=29
28500 JSA 16,CLEFS
28550 ;23200 P8=1=BOTTOM 1/2 BRACK. ONLY: =2=TOP 1/2 ONLY: 0=COMPLETE
28600 ; 23300 R4=R5-RBR
28650 MOVN 3,[0.33]
28700 FADR 3,.COMM.+6
28750 MOVEM 3,.COMM.+5
28800 ; 23400 R6=3
28850 MOVSI 02,202600
28900 MOVEM 02,.COMM.+7
28950 ; 23500 R7=-3
29000 MOVNM 02,.COMM.+=8
29050 ; 23600 C TURNS IT UPSIDE DOWN.
29100 ; 23800 IF(J7.NE.4)GO TO 3401
29150 MOVEI 02,4
29200 CAME 02,.COMM.+=28
29250 JRST I3401
29300 ; 23900 POS=RA
29350 MOVE 02,BM
29400 MOVEM 02,POSI+=9
29450 ; 24000 R4=R4*RJY/RSTJ2
29500 FMPR 3,BM+2
29550 FDVR 3,STF+=8
29600 MOVEM 3,.COMM.+5
29650 ;24100 TO ADJUST HEIGHT OF BRACK END WHEN STAVES ARE DIFF. SIZES.
29700 ; 24200 3401 IF(J8.NE.1)CALL CLEFS
29750 I3401: MOVEI 02,1
29800 CAME 02,.COMM.+=29
29850 JSA 16,CLEFS
29900 ; 24300 R3Q=R3Q-12.0*RSTJ2
29950 MOVSI 02,204600
30000 FMPR 02,STF+=8
30050 FSBRM 02,ALF+5
30100 MOVNS 00,ALF+5
30150 ; 24400 IF(J7.NE.4)GO TO 407
30200 MOVEI 02,4
30250 CAME 02,.COMM.+=28
30300 JRST I407
30350 ; 24500 J7=0
30400 SETZM .COMM.+=28
30450 ; 24600 GO TO 140
30500 JRST I140
30550 ; 24800 4002 J5=4
30600 I4002: MOVEI 02,4
30650 MOVEM 02,.COMM.+=26
30700 ; 24900 C FOR CURVY BRACKET. P6 CAN CHANGE WIDTH.
30750 ; 25000 R8=0
30800 SETZM .COMM.+=9
30850 ; 25100 J4=J4+J2-1
30900 MOVNI 3,1
30950 ADD 3,.COMM.+3
31000 ADDB 3,.COMM.+=25
31050 ;25200 R7=(.3136*RSTFAC(J4)+.0056*(STFF(J4)-STFF(J2)))/RSTJ2
31100 MOVE 02,[0.3136]
31150 FMPR 02,STF+3(3)
31200 MOVE 04,POSI +3(3)
31250 MOVE 03,J2
31300 FSBR 04,POSI +3(3)
31350 FMPR 04,[0.0056]
31400 FADR 02,4
31450 FDVR 02,STF+=8
31500 MOVEM 02,.COMM.+=8
31550 ;25300 .0056=.0392/7.(THE MAGIC NUM FOR VERT SIZE OF BRACK.) .3136=8*.0392
31600 ;25400 ADD DIST BETWEEN BOTTOM OF STAVES TO HEIGHT OF TOP STAFF
31650 ; 25500 IF(R6.EQ.0)R6=1.+R7/20.
31700 MOVE 3,.COMM.+7
31750 JUMPN 3,.+4
31800 FDVR 02,[20.0]
31850 FADRI 02,201400
31900 MOVEM 02,.COMM.+7
31950 ; 25600 JA=3
32000 MOVEI 02,3
32050 MOVEM 02,.COMM.+1
32100 ; 25700 R4=2.3
32150 MOVE 02,[2.3]
32200 MOVEM 02,.COMM.+5
32250 ;25800 BECAUSE BRACK DOESN'T REALLY GO UP FROM 0 ?!?X*↑
32300 ; 25900 CALL CLEFS
32350 JSA 16,CLEFS
32400 ; 26000 RETURN
32450 JRA 16,(16)
32500 I4001: CAIN 2,5 ; 26200 4001 IF(J7.EQ.5)GO TO 4002
32650 JRST I4002 ; J7 IS IN AC2
32700 ; 26300 IF(R8.EQ.0)R8=.8
32750 MOVE 02,.COMM.+=9
32800 JUMPN 02,.+3
32850 MOVE 02,[0.8]
32900 MOVEM 02,.COMM.+=9
32950 ; 26400 C P8 CAN SET SIZE OF DASH
33000 ; 26402 RZ=5.96*RSTJ2
33050 MOVE 02,[5.96]
33100 FMPR 02,STF+=8
33150 MOVEM 02,ALF+=18
33200 ; 26405 RJ=R8*RZ
33250 FMPR 02,.COMM.+=9
33300 MOVEM 02,ALF+=11
33350 ; 26410 RZ=R9*RZ
33400 MOVE 3,.COMM.+=10
33450 FMPRM 3,ALF+=18
33500 SKIPN .COMM.+=10 ; 26420 IF(R9.EQ.0)RZ=RJ
33550 MOVEM 02,ALF+=18
33600 ;26430 P9 SETS SPACE BETWEEN DASHES. (CAN BE DIFFERENT FROM P8)
33650 ; 26440 R8=RJ
33700 MOVEM 02,.COMM.+=9
33750 ; 26450 R9=RZ
33800 MOVE 02,ALF+=18
33850 MOVEM 02,.COMM.+=10
33900 ; 26500 RD=RD+POS
33950 MOVE 02,POSI+=9
34000 FADRB 02,ALF+7
34050 ; 26600 RJX=RD
34100 MOVEM 02,ALF+=10
34150 ; 27100 RJY=RD
34200 MOVEM 02,BM+2
34250 ;26700 =1 =DASHES, P6=P3=VERTICAL; P4=P5=HORIZ.; OTHERWISE SLOPE.
34300 ; 26800 J6=ROFF(RHORZ(R6))
34350 JSA 16,RHORZ
34400 JUMP .COMM.+7
34450 MOVE 4,0
34500 JSA 16,ROFF
34550 JUMP 4
34600 KIFIX 0,0 ;MOVE 4,0
34650 ; JSA 16,IFIX
34700 ; JUMP 4
34750 MOVEM 00,.COMM.+=27
34800 SUBM 0,.COMM.+=24 ; 26900 J3=J6-J3
34900 ; 27000 J4=J5-J4
34950 ;; MOVN 02,.COMM.+=26
35000 ;; ADDM 02,.COMM.+=25
35050 ;; MOVNS 00,.COMM.+=25
35060 MOVE 2,.COMM.+=6 ;NOW J4=R5-R4 (J4 IS FLTING PT)
35070 FSBR 2,.COMM.+5
35080 MOVEM 2,.COMM.+=25 ; CHECKS FOR TILT, USED LATER
35100 FLTR 0,.COMM.+=27 ;MOVE .COMM.+=27 27200 C SAVE FOR THICK LINES
35150 ; TLC 0,232000 ; 27300 RA=J6
35200 ; FADR 0,0
35300 MOVEM 00,BM ; 27400 C RA IS HORIZ. GOAL FOR DASHES
35400 ; 27500 402 RY=POS+R5*RST7
35450 MOVE 02,ALF+3 ; LABEL 402 NOT USED
35500 FMPR 02,.COMM.+6
35550 FADR 02,POSI+=9
35600 MOVEM 02,RY
35650 ; 27600 IF(J4.EQ.0)GO TO 41
35700 MOVE 3,.COMM.+=25
35750 JUMPE 3,I41
35800 ; 27700 RH=RY-RD
35850 ; 27800 C TOTAL HEIGHT DIFF.
35900 ; 27900 RX=RA-R3
35950 MOVN 3,.COMM.+4
36000 FADR 3,BM
36050 MOVEM 3,ALF+=8
36100 ; 28000 C TOTAL LENGTH DIFF.
36150 FSBR 2,ALF+7
36200 ; 28100 RH=RH/RX
36250 FDVR 02,ALF+=8
36300 MOVEM 02,RH#
36350 ; 28200 41 L=3
36400 I41: MOVEI 02,3
36450 MOVEM 02,ALF+=12
36500 ; 28300 K=2
36550 MOVEI 02,2
36600 MOVEM 02,ALF+=13
36650 ; 28400 416 CALL LINES(R3Q,ALF+7,ALF+=12)
36700 I416: JSA 16,LINES
36750 JUMP ALF+5
36800 JUMP ALF+7
36850 JUMP ALF+=12
36900 ; 28405 IF(J3.EQ.0)GO TO 412
36950 MOVE 02,.COMM.+=24
37000 JUMPE 02,I412
37050 ; 28407 C JUMP FOR VERT. DASH
37100 ; 28410 IF(J3.GT.0)GO TO 422
37150 MOVE 3,ALF+5 ;(R3Q)
37160 JUMPG 02,I422
37200 ; 28420 IF(R3Q.LE.RA)GO TO 413
37300 CAMG 3,BM
37350 JRST I413
37400 ; 28425 C THIS IF P6 IS LESS THAN P3
37450 ; 28430 R3Q=R3Q-RJ
37500 MOVN 02,ALF+=11
37600 ; 28440 GO TO 423
37650 JRST I423
37700 ; 28500 422 IF(R3Q.GE.RA)GO TO 413
37800 I422: CAML 3,BM
37850 JRST I413
37900 ; 28600 C JUMP IF ALL DONE
37950 ; 28700 R3Q=R3Q+RJ
38000 MOVE 02,ALF+=11
38050 I423: FADRB 02,ALF+5
38100 ; 28710 423 IF(J4.NE.0)RD=RJY+RH*(R3Q-R3)
38150 MOVE 3,.COMM.+=25 ; J4 HAS TILT(SEE I402 -)
38200 JUMPE 3,.+5
38250 FSBR 02,.COMM.+4
38300 FMPR 02,RH
38350 FADR 02,BM+2
38400 MOVEM 02,ALF+7
38450 ; 28720 C FINDS HEIGHT OF RIGHT SIDE OF SLOPE
38500 ; 28800 414 CALL EXCH(L,ALF+=13)
38550 I414: MOVE 2,ALF+=12
38600 EXCH 2,ALF+=13
38650 MOVEM 2,ALF+=12
38700 MOVE 2,ALF+=11 ; 28810 CALL EXCH(RJ,ALF+=18)
38750 EXCH 2,ALF+=18
38800 MOVEM 2,ALF+=11
38850 ; 28820 C EXCH. SPACE AND DASH SIZE.
38900 ; 28900 GO TO 416
38950 JRST I416
39000 I412: MOVE 1,ALF+7 ;28950 412 IF(J4.GT.0)GO TO 424
39050 MOVE 02,.COMM.+=25
39100 JUMPG 02,I424
39150 ; 28960 IF(RD.LE.RY)GO TO 413
39250 CAMG 1,RY
39300 JRST I413
39350 ; 28970 RD=RD-RJ
39400 MOVN 02,ALF+=11
39450 FADRM 02,ALF+7
39500 ; 28980 C THIS IF P5 IS LESS THAN P4.
39550 ; 28990 GO TO 414
39600 JRST I414
39650 ; 29000 424 IF(RD.GE.RY)GO TO 413
39750 I424: CAML 1,RY
39800 JRST I413
39850 ; 29100 C JUMP IF DONE
39900 ; 29200 RD=RD+RJ
39950 MOVE 02,ALF+=11
40000 FADRM 02,ALF+7
40050 ; 29300 GO TO 414
40100 JRST I414
40150 ; 29400 413 IF(J10.GT.0)GO TO 420
40200 I413: MOVE 02,.COMM.+=31
40250 JUMPG 02,I420
40300 SKIPN .COMM.+=32 ; 29410 IF(J11.EQ.0)RETURN
40350 JRA 16,(16)
40400 SKIPGE .COMM.+=24 ; 29415 IF(J3)RJ=-RJ
40450 MOVNS 00,ALF+=11
40500 ; 29420 IF(L.EQ.3)R3Q=R3Q-RJ
40550 MOVEI 02,3
40600 CAME 02,ALF+=12
40650 JRST .+3
40700 MOVN 02,ALF+=11
40750 FADRM 02,ALF+5
40800 ; 29430 RX=R8
40850 MOVE 02,.COMM.+=9
40900 MOVEM 02,ALF+=8
40950 SKIPGE .COMM.+=32 ; 29440 IF(J11)RX=-RX
41000 MOVNS 00,ALF+=8
41050 ; 29450 CALL LINX(R3Q,ALF+7,ALF+5,ALF+7+RX)
41100 MOVE 14,ALF+7
41150 FADR 14,ALF+=8
41200 JSA 16,LINX
41250 JUMP ALF+5
41300 JUMP ALF+7
41350 JUMP ALF+5
41400 JUMP 14
41450 ; 29460 C PUTS BRACK END ON DASHED LINE. (P11=1 OR -1)
41500 ; 29470 RETURN
41550 JRA 16,(16)
41600 ; 29500 C NEXT FOR THICK DASHES
41650 ; 29600 420 J10=J10-1
41700 I420: SOS .COMM.+=31
41750 ; 29650 RJ=1./DIS
41800 MOVSI 3,201400
41850 FDVR 3,PLTR+2
41950 ; 29700 IF(J3.EQ.0)GO TO 415
42000 MOVE 02,.COMM.+=24
42050 JUMPE 02,I415
42100 ; 29800 R3Q=R3
42150 MOVE 02,.COMM.+4
42200 MOVEM 02,ALF+5
42250 ; 29900 RJY=RJY+RJ
42350 FADRB 3,BM+2
42400 ; 29950 RD=RJY
42450 MOVEM 3,ALF+7
42500 ; 30000 GO TO 417
42550 JRST I417
42600 ; 30100 415 R3Q=R3Q+RJ
42700 I415: FADRM 3,ALF+5
42750 ; 30200 RD=RJX
42800 MOVE 02,ALF+=10
42850 MOVEM 02,ALF+7
42900 ; 30210 417 RJ=R8
42950 I417: MOVE 02,.COMM.+=9
43000 MOVEM 02,ALF+=11
43050 ; 30220 RZ=R9
43100 MOVE 02,.COMM.+=10
43150 MOVEM 02,ALF+=18
43200 ; 30230 C FOR THICK DASHES.
43250 ; 30300 GO TO 41
43300 JRST I41
43350 ; 30600 407 RX=RD+POS
43400 I407: MOVE 02,ALF+7
43450 FADR 02,POSI+=9
43500 MOVEM 02,ALF+=8
43550 ; 30700 RY=R5*RST7+POS
43600 MOVE 02,ALF+3
43650 FMPR 02,.COMM.+6
43700 FADR 02,POSI+=9
43750 MOVEM 02,RY
43800 MOVE 3,.COMM.+=28 ; 30800 IF(J7.EQ.3)GO TO 140
43850 CAIN 3,3
43900 JRST I140
43950 ; 30900 CALL NOZERO(R9)
44000 JSA 16,NOZERO
44050 JUMP .COMM.+=10
44100 CAMN 3,[-1] ; 31000 IF(J7.EQ.-1)GO TO 408
44150 JRST I408
44200 ; 31100 C FOR 'TR' J7=-2, 'ARPEGG' J7=-1, STRAIGHT LINES J7=0
44250 ; 31200 CC WHY THE IFIX???? RJX=IFIX(RHORZ(R6))
44300 ; 31300 RJX=IFIX(ROFF(RHORZ(R6)))
44350 JSA 16,RHORZ
44400 JUMP .COMM.+7
44450 MOVE 4,
44500 JSA 16,ROFF
44550 JUMP 4
44600 KIFIX 0,0 ;MOVE 4,
44650 ; JSA 16,IFIX
44700 ; JUMP 4
44750 FLTR 0,0 ;TLC 0,232000
44800 ;FADR 0,0
44850 MOVEM 00,ALF+=10
44900 ;31400 C ALL THIS CRAP SO IT WILL MATCH UP WITH P3 WHEN NECESSARY.
44950 ; 31500 IF(J7.EQ.0)GO TO 42
45000 MOVE 02,.COMM.+=28
45050 JUMPE 3,I42
45100 ; 31600 RY=R9*RST7+RX
45150 MOVE 02,ALF+3
45200 FMPR 02,.COMM.+=10
45250 FADR 02,ALF+=8
45300 MOVEM 02,RY
45350 ; 31700 CALL NOZERO(R8)
45400 JSA 16,NOZERO
45450 JUMP .COMM.+=9
45500 ; 31800 4041 RZ=RX
45550 I4041: MOVE 02,ALF+=8
45600 MOVEM 02,ALF+=18
45650 ; 31900 RH=RY
45700 MOVE 14,RY
45750 MOVEM 14,RH
45800 ; 32000 C SAVE FOR THICK WIGGLES
45850 ; 32100 CALL LINES(R3Q,ALF+=8,3)
45900 JSA 16,LINES
45950 JUMP ALF+5
46000 JUMP ALF+=8
46050 JUMP [3]
46100 ; 32200 C DRAWS STRAIGHT LINES. ETC.
46150 ; 32300 R9=R3Q
46200 MOVE 02,ALF+5
46250 MOVEM 02,.COMM.+=10
46300 ; 32400 RJ=RY
46350 MOVEM 14,ALF+=11
46400 ; 32500 RW=3.*RSTJ2*R8
46450 MOVSI 02,202600
46500 FMPR 02,STF+=8
46550 FMPR 02,.COMM.+=9
46600 MOVEM 02,ALF+=9
46650 ; 32600 RA=RW*2.5
46700 MOVSI 02,202500
46750 FMPR 02,ALF+=9
46800 MOVEM 02,BM
46850 ; 32700 C P8=HORZ. WIGGLE SIZE; P9=VERT. SIZE
46900 ; 32800 404 R9=R9+RA
46950 I404: MOVE 02,BM
47000 FADRM 02,.COMM.+=10
47050 ; 32900 CALL LINES(R9,ALF+=11,2)
47100 JSA 16,LINES
47150 JUMP .COMM.+=10
47200 JUMP ALF+=11
47250 JUMP [2]
47300 ; 33000 R9=R9+RW
47350 MOVE 14,ALF+=9
47400 FADRB 14,.COMM.+=10
47450 ; 33100 CALL LINES(R9,ALF+=11,2)
47500 JSA 16,LINES
47550 JUMP .COMM.+=10
47600 JUMP ALF+=11
47650 JUMP [2]
47700 I405: MOVE ALF+=8 ; 33200 405 CALL EXCH(RX,ALF+=11)
47750 EXCH ALF+=11
47800 MOVEM ALF+=8
47850 CAMGE 14,ALF+=10 ; 33300 IF(R9.LT.RJX)GO TO 404
47900 JRST I404
47950 SKIPG .COMM.+=31 ; 33400 IF(J10.LE.0)RETURN
48000 JRA 16,(16)
48050 ; 33450 RY=1./DIS
48100 MOVSI 02,201400
48150 FDVR 02,PLTR+2
48200 MOVEM 02,RY
48250 ; 33500 RX=RZ+RY
48300 FADR 02,ALF+=18
48350 MOVEM 02,ALF+=8
48400 ; 33600 RY=RH+RY
48450 MOVE 02,RH
48500 FADRM 02,RY
48550 SOS .COMM.+=31 ; 33700 J10=J10-1
48600 ; 33800 GO TO 4041
48650 JRST I4041
48700 ; 33900 C P10= + NUM OF THICKNESSES TO WIGGLE
48750 ; 34100 408 IF(RX.GT.RY)CALL EXCH(RX,RY)
48800 I408: MOVE 02,ALF+=8
48850 CAMLE 2,RY
48900 EXCH 2,RY
48950 MOVEM 2,ALF+=8
49000 ; 34200 RZ=R9*RSTJ2*5.96
49050 MOVE 02,STF+=8
49100 FMPR 02,.COMM.+=10
49150 FMPR 02,[5.96]
49200 MOVEM 02,ALF+=18
49250 ; 34300 C USE P9 TO SET WIGGLE WIDTH. P8 TO SET HGT.
49300 ; 34400 CALL NOZERO(R8)
49350 JSA 16,NOZERO
49400 JUMP .COMM.+=9
49450 ; 34500 RD=R8*RST7*.5
49500 MOVE 02,ALF+3
49550 FMPR 02,.COMM.+=9
49600 FSC 02,777777
49650 MOVEM 02,ALF+7
49700 ; 34600 RJ=RD
49750 MOVEM 02,ALF+=11
49800 ; 34700 IF(RD.LT.1.)RD=1.
49850 MOVSI 02,201400
49900 CAMLE 02,ALF+7
49950 MOVEM 2,ALF+7
50000 ; 34800 421 R9=RX
50010 I421: MOVE 02,ALF+=8
50050 MOVEM 02,.COMM.+=10
50100 ; 34900 RW=R3Q
50150 MOVE 02,ALF+5
50200 MOVEM 02,ALF+=9
50250 ; 35000 RA=RZ+R3Q
50300 FADR 02,ALF+=18
50350 MOVEM 02,BM
50400 ; 35100 CALL LINES(RW,.COMM.+=10,3)
50450 JSA 16,LINES
50500 JUMP ALF+=9
50550 JUMP .COMM.+=10
50600 JUMP [3]
50650 ; 35200 410 R9=R9+RJ
50700 I410: MOVE 02,ALF+=11
50750 FADRM 02,.COMM.+=10
50800 ; 35300 CALL LINES(RA,.COMM.+=10,2)
50850 JSA 16,LINES
50900 JUMP BM
50950 JUMP .COMM.+=10
51000 JUMP [2]
51050 ; 35400 R9=R9+RD
51100 MOVE 02,ALF+7
51150 FADRM 02,.COMM.+=10
51200 ; 35500 CALL LINES(RA,.COMM.+=10,2)
51250 JSA 16,LINES
51300 JUMP BM
51350 JUMP .COMM.+=10
51400 JUMP [2]
51450 MOVE BM ; 35600 CALL EXCH(RA,ALF+=9)
51500 EXCH ALF+=9
51550 MOVEM BM
51600 ; 35700 IF(R9.LT.RY)GO TO 410
51650 MOVE 02,RY
51700 CAMLE 02,.COMM.+=10
51750 JRST I410
51800 SKIPG .COMM.+=31 ; 35800 IF(J10.LE.0)RETURN
51850 JRA 16,(16)
51900 ; 35900 R3Q=R3Q+1./DIS
51950 MOVSI 02,201400
52000 FDVR 02,PLTR+2
52050 FADRM 02,ALF+5
52100 SOS .COMM.+=31 ; 36000 J10=J10-1
52150 JRST I421 ; 36100 GO TO 421
52200 ; 36200 C VERTICAL WIGGLE P10=+ NUM OF THICKNESSES.
52250 JRA 16,(16)
52300 END ; 36300 END